package com.chukun.multi.masterslave.reusable;

import java.util.Optional;

/**
 * 对原始任务分解算法策略的抽象
 * @author chukun
 * @param <T> 子任务类型
 */
public interface TaskDivideStrategy<T> {

    /**
     * 返回下一个任务。若返回值 {@link Optional#empty()}, 则表示无后续任务
     * @return
     */
    Optional<T> nextChunk();
}
